<pre class='metadata'>
Title: AV1 WebCodecs Registration
Repository: w3c/webcodecs
Status: NOTE-ED
Shortname: webcodecs-av1-codec-registration
Level: none
Group: mediawg
ED: https://w3c.github.io/webcodecs/av1_codec_registration.html
TR: https://www.w3.org/TR/webcodecs-av1-codec-registration/
Editor: Paul Adenot, w3cid 62410, Mozilla https://www.mozilla.org/
Editor: Eugene Zemtsov, w3cid 139375, Google LLC https://www.google.com/
Former Editor: Bernard Aboba, w3cid 65611, Microsoft Corporation https://www.microsoft.com/
Former Editor: Chris Cunningham, w3cid 114832, Google Inc. https://www.google.com/

Abstract: This registration is entered into the [[webcodecs-codec-registry]].
    It describes, for AV1, the (1) fully qualified [[WEBCODECS#config-codec-string|codec strings]],
    (2) the codec-specific {{EncodedVideoChunk}}
    {{EncodedVideoChunk/[[internal data]]}} bytes, (3) the codec-specific
    extensions to {{VideoEncoderConfig}}, (4) the
    {{VideoDecoderConfig/description|VideoDecoderConfig.description}} bytes,
    (5) the values of {{EncodedVideoChunk}} {{EncodedVideoChunk/[[type]]}}, and
    (6) the codec-specific extensions to {{VideoEncoderEncodeOptions}}.

    The registration is not intended to include any information on whether a
    codec format is encumbered by intellectual property claims. Implementers and
    authors are advised to seek appropriate legal counsel in this matter if they
    intend to implement or use a specific codec format. Implementers of
    WebCodecs are not required to support the AV1 codec.

    This registration is non-normative.

Markup Shorthands:css no, markdown yes, dfn yes
!Participate: <a href="https://github.com/w3c/webcodecs">Git Repository.</a>
!Participate: <a href="https://github.com/w3c/webcodecs/issues/new">File an issue.</a>
!Version History: <a href="https://github.com/w3c/webcodecs/commits">https://github.com/w3c/webcodecs/commits</a>
</pre>

<pre class='biblio'>
{
  "AV1": {
    "href": "https://aomediacodec.github.io/av1-spec/",
    "title": "AV1 Bitstream & Decoding Process Specification",
    "publisher": "Alliance for Open Media"
  },
  "AV1-ISOBMFF": {
    "href": "https://aomediacodec.github.io/av1-isobmff/",
    "title": "AV1 Codec ISO Media File Format Binding",
    "publisher": "Alliance for Open Media"
  }
}
</pre>

Fully qualified codec strings {#fully-qualified-codec-strings}
==============================================================

The [[WEBCODECS#config-codec-string|codec string]] begins with the prefix `"av01."`, followed by a variable length
suffix as described in Section 5 of [[AV1-ISOBMFF]].

EncodedVideoChunk data {#encodedvideochunk-data}
================================================

{{EncodedVideoChunk}} {{EncodedVideoChunk/[[internal data]]}} is expected to be
data compliant to the "low-overhead bitstream format" as described in Section 5
of [[AV1]].

VideoDecoderConfig description {#videodecoderconfig-description}
================================================================

{{VideoDecoderConfig/description}} is not used for this codec.

EncodedVideoChunk type {#encodedvideochunk-type}
================================================

If an {{EncodedVideoChunk}}'s {{EncodedVideoChunk/[[type]]}} is
{{EncodedVideoChunkType/key}}, then the {{EncodedVideoChunk}} is expected to
contain a frame with a `frame_type` of `KEY_FRAME` as defined in Section
6.8.2 of [[AV1]].

VideoEncoderEncodeOptions extensions {#videoencoderencodeoptions-extensions}
==============================================================

<pre class='idl'>
<xmp>
partial dictionary VideoEncoderEncodeOptions {
  VideoEncoderEncodeOptionsForAv1 av1;
};
</xmp>
</pre>

<dl>
  <dt><dfn dict-member for=VideoEncoderEncodeOptions>av1</dfn></dt>
  <dd>
    Contains codec specific encode options for the [[AV1]] codec.
  </dd>
</dl>

VideoEncoderEncodeOptionsForAv1 {#av1-encode-options}
--------------------------------------
<pre class='idl'>
<xmp>
dictionary VideoEncoderEncodeOptionsForAv1 {
  unsigned short? quantizer;
};
</xmp>
</pre>

<dl>
  <dt><dfn dict-member for=VideoEncoderEncodeOptionsForAv1>quantizer</dfn></dt>
  <dd>
    Sets per-frame quantizer value.
    In [[AV1]] the quantizer index can be varied from 0 to 255
  </dd>
</dl>

Privacy Considerations {#privacy-considerations}
==========================================================================

Please refer to the section [[WEBCODECS#privacy-considerations|Privacy
Considerations]] in [[WEBCODECS]].

Security Considerations {#security-considerations}
==========================================================================

Please refer to the section [[WEBCODECS#security-considerations|Security
Considerations]] in [[WEBCODECS]].
